﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Datos;
using Modelo;

namespace Servicios
{
    public class ArticuloService
    {
        /// <summary>
        /// Agrega un articulo en la base de datos
        /// </summary>
        /// <param name="articulo"></param>
        public void AddArticulo(Articulo articulo)
        {
            new ArticuloDAL().AddArticulo(articulo);
        }

        /// <summary>
        /// Obtiene todos los articulos de la base de datos
        /// </summary>
        /// <returns></returns>
        public List<Articulo> GetArticulos()
        {
            return new ArticuloDAL().GetArticulos();
        }

        /// <summary>
        /// Borra un articulo de la base de datos
        /// </summary>
        /// <param name="articulo"></param>
        public void DeleteArticulo(Articulo articulo)
        {
            new ArticuloDAL().DeleteArticulo(articulo);
        }

        /// <summary>
        /// Obtiene un articulo por el codigo de la base de datos
        /// </summary>
        /// <param name="codigo"></param>
        /// <returns></returns>
        public Articulo GetArticuloByCodigo(string codigo)
        {
            return new ArticuloDAL().GetArticuloByCodigo(codigo);
        }

        /// <summary>
        /// Obtiene una lista de articulos de la base de datos por
        /// el codigo pasado como parametro
        /// </summary>
        /// <param name="codigo"></param>
        /// <returns></returns>
        public List<Articulo> GetArticulosByCodigo(string codigo)
        {
            return new ArticuloDAL().GetArticulosByCodigo(codigo);
        }

        /// <summary>
        /// Obtiene una lista de articulos de la base de datos por
        /// el nombre pasado como parametro
        /// </summary>
        /// <param name="codigo"></param>
        /// <returns></returns>
        public List<Articulo> GetArticulosByNombre(string nombre)
        {
            return new ArticuloDAL().GetArticulosByNombre(nombre);
        }

        /// <summary>
        /// Obtiene una lista de articulos de la base de datos por el 
        /// articulo pasado como parametro
        /// </summary>
        /// <param name="articulo"></param>
        /// <returns></returns>
        public List<Articulo> GetArticulosByArticulo(Articulo articulo)
        {
            return new ArticuloDAL().GetArticulosByArticulo(articulo);
        }

        public Articulo GetArticuloById(int id)
        {
            return new ArticuloDAL().GetArticuloById(id);
        }
    }
}
